// @ts-nocheck

import isArray from '@/base/isArray'

/**
 * 将一个数组分割成大小的组。如果数组不能被平均分配，那么最后一块将是剩下的元素
 *
 * @param {Array} array 数组
 * @param {number} size 每组大小
 * @return {Array}
 */
function chunk<T>(array: T[], size: number): T[][] {
  let index
  let result = [] as T[][]
  let arrLen = size >> 0 || 1
  if (isArray(array)) {
    if (arrLen >= 0 && array.length > arrLen) {
      index = 0
      while (index < array.length) {
        result.push(array.slice(index, index + arrLen))
        index += arrLen
      }
    } else {
      result = array.length ? [array] : array
    }
  }
  return result
}

export default chunk
